Skip to content

Conversation

GuillaumeGomez
Copy link
Member

Fixes #97432.

The problem was that the ID was conflicting because the reexports have the same one. To fix it, I "extended" it by adding the Symbol into it as well.

r? @notriddle

@GuillaumeGomez GuillaumeGomez added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. A-rustdoc-json Area: Rustdoc JSON backend labels May 31, 2022
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 31, 2022
@Urgau
Copy link
Member

Urgau commented May 31, 2022

This is more like a bandage than a real solution.

You should look at #93518 which is a completely different approach than this PR is taking, basically the idea is for the JSON output to not inline any item like the html output is doing, meaning that re-exports will not ICE anymore because they will still be different and thus not have the same id.

@notriddle
Copy link
Contributor

Does that PR fix this bug? If so, then I'd like to merge that one instead.

@CraftSpider
Copy link
Contributor

That PR needs updated and is not yet perfect, it still has some known failures. On the other hand as far as I can tell it does fix re-export issues generally. I've been slacking on doing the work to carry it over the finish-line, I'd be willing to help mentor someone else if they are willing to do some of the work to push it over the finish-line, alternatively I'll try to set aside some time this weekend to finish it up.

@GuillaumeGomez
Copy link
Member Author

I also took another approach at the start where I stopped inlining reexports but I found the result sub-optimal. However it'd be a better approach overall than my current PR.

What is missing in #93518?

@Urgau
Copy link
Member

Urgau commented Jun 1, 2022

What is missing in #93518?

It's currently blocked on fixing #93518 (comment) and applying this suggestion #93518 (comment). And maybe adding some more tests cases.

@GuillaumeGomez
Copy link
Member Author

I see. Considering none of these PRs are anywhere close to being merged, should we move forward with this one then? I can add a FIXME: remove this function once no more inlining for JSON format above the from_item_id_with_name function to make sure it won't remain.

My problem here is that we have an ICE, which should be avoided at all cost.

@CraftSpider
Copy link
Contributor

I'd support moving forward with this as a future FIXME

@GuillaumeGomez
Copy link
Member Author

Ok, updating the PR then. :)

@GuillaumeGomez
Copy link
Member Author

And done!

@GuillaumeGomez
Copy link
Member Author

@bors: r=CraftSpider rollup

@bors
Copy link
Collaborator

bors commented Jun 1, 2022

📌 Commit 069ae16 has been approved by CraftSpider

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 1, 2022
Dylan-DPC added a commit to Dylan-DPC/rust that referenced this pull request Jun 2, 2022
…ftSpider

Fix JSON reexport ICE

Fixes rust-lang#97432.

The problem was that the ID was conflicting because the reexports have the same one. To fix it, I "extended" it by adding the `Symbol` into it as well.

r? `@notriddle`
@Dylan-DPC
Copy link
Member

failed in rollup

@Dylan-DPC
Copy link
Member

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 2, 2022
@GuillaumeGomez
Copy link
Member Author

Fixed the doc comment.

@bors: r=CraftSpider rollup

@bors
Copy link
Collaborator

bors commented Jun 2, 2022

📌 Commit 5adca73 has been approved by CraftSpider

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 2, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 2, 2022
Rollup of 5 pull requests

Successful merges:

 - rust-lang#97420 (Be a little nicer with casts when formatting `fn` pointers)
 - rust-lang#97450 ([RFC 2011] Basic compiler infrastructure)
 - rust-lang#97599 (Fix JSON reexport ICE)
 - rust-lang#97617 (Rustdoc anonymous reexports)
 - rust-lang#97636 (Revert rust-lang#96682.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f22f743 into rust-lang:master Jun 2, 2022
@rustbot rustbot added this to the 1.63.0 milestone Jun 2, 2022
@GuillaumeGomez GuillaumeGomez deleted the reexport-json branch June 2, 2022 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE when running rustdoc in JSON mode on clap
8 participants